home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / PictUtils.a < prev    next >
Text File  |  1996-05-01  |  7KB  |  212 lines

  1. ;
  2. ;    File:        PictUtils.a
  3. ;
  4. ;    Contains:    Picture Utilities Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__PICTUTILS__') = 'UNDEFINED' THEN
  19. __PICTUTILS__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__WINDOWS__') = 'UNDEFINED' THEN
  25.     include 'Windows.a'
  26.     ENDIF
  27.     IF &TYPE('__PALETTES__') = 'UNDEFINED' THEN
  28.     include 'Palettes.a'
  29.     ENDIF
  30.     IF FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE THEN
  31. ;  verbs for the GetPictInfo, GetPixMapInfo, and NewPictInfo calls 
  32.  
  33. returnColorTable                EQU        $0001
  34. returnPalette                    EQU        $0002
  35. recordComments                    EQU        $0004
  36. recordFontInfo                    EQU        $0008
  37. suppressBlackAndWhite            EQU        $0010
  38.  
  39.                                                             ; color pick methods 
  40. systemMethod                    EQU        0                    ; system color pick method 
  41. popularMethod                    EQU        1                    ; method that chooses the most popular set of colors 
  42. medianMethod                    EQU        2                    ; method that chooses a good average mix of colors 
  43.                                                             ; color bank types 
  44. ColorBankIsCustom                EQU        -1
  45. ColorBankIsExactAnd555            EQU        0
  46. ColorBankIs555                    EQU        1
  47. ; typedef long                             PictInfoID
  48.  
  49. CommentSpec                RECORD 0
  50. count                     ds.w    1                ; offset: $0 (0)        ;  number of occurrances of this comment ID 
  51. ID                         ds.w    1                ; offset: $2 (2)        ;  ID for the comment in the picture 
  52. sizeof                     EQU *                    ; size:   $4 (4)
  53.                         ENDR
  54. ; typedef struct CommentSpec *            CommentSpecPtr
  55.  
  56. ; typedef CommentSpecPtr *                CommentSpecHandle
  57.  
  58. FontSpec                RECORD 0
  59. pictFontID                 ds.w    1                ; offset: $0 (0)        ;  ID of the font in the picture 
  60. sysFontID                 ds.w    1                ; offset: $2 (2)        ;  ID of the same font in the current system file 
  61. size                     ds.l    4                ; offset: $4 (4)        ;  bit array of all the sizes found (1..127) (bit 0 means > 127) 
  62. style                     ds.w    1                ; offset: $14 (20)        ;  combined style of all occurrances of the font 
  63. nameOffset                 ds.l    1                ; offset: $16 (22)        ;  offset into the fontNamesHdl handle for the font's name 
  64. sizeof                     EQU *                    ; size:   $1A (26)
  65.                         ENDR
  66. ; typedef struct FontSpec *                FontSpecPtr
  67.  
  68. ; typedef FontSpecPtr *                    FontSpecHandle
  69.  
  70. PictInfo                RECORD 0
  71. version                     ds.w    1                ; offset: $0 (0)        ;  this is always zero, for now 
  72. uniqueColors             ds.l    1                ; offset: $2 (2)        ;  the number of actual colors in the picture(s)/pixmap(s) 
  73. thePalette                 ds.l    1                ; offset: $6 (6)        ;  handle to the palette information 
  74. theColorTable             ds.l    1                ; offset: $A (10)        ;  handle to the color table 
  75. hRes                     ds.l    1                ; offset: $E (14)        ;  maximum horizontal resolution for all the pixmaps 
  76. vRes                     ds.l    1                ; offset: $12 (18)        ;  maximum vertical resolution for all the pixmaps 
  77. depth                     ds.w    1                ; offset: $16 (22)        ;  maximum depth for all the pixmaps (in the picture) 
  78. sourceRect                 ds        Rect            ; offset: $18 (24)        ;  the picture frame rectangle (this contains the entire picture) 
  79. textCount                 ds.l    1                ; offset: $20 (32)        ;  total number of text strings in the picture 
  80. lineCount                 ds.l    1                ; offset: $24 (36)        ;  total number of lines in the picture 
  81. rectCount                 ds.l    1                ; offset: $28 (40)        ;  total number of rectangles in the picture 
  82. rRectCount                 ds.l    1                ; offset: $2C (44)        ;  total number of round rectangles in the picture 
  83. ovalCount                 ds.l    1                ; offset: $30 (48)        ;  total number of ovals in the picture 
  84. arcCount                 ds.l    1                ; offset: $34 (52)        ;  total number of arcs in the picture 
  85. polyCount                 ds.l    1                ; offset: $38 (56)        ;  total number of polygons in the picture 
  86. regionCount                 ds.l    1                ; offset: $3C (60)        ;  total number of regions in the picture 
  87. bitMapCount                 ds.l    1                ; offset: $40 (64)        ;  total number of bitmaps in the picture 
  88. pixMapCount                 ds.l    1                ; offset: $44 (68)        ;  total number of pixmaps in the picture 
  89. commentCount             ds.l    1                ; offset: $48 (72)        ;  total number of comments in the picture 
  90. uniqueComments             ds.l    1                ; offset: $4C (76)        ;  the number of unique comments in the picture 
  91. commentHandle             ds.l    1                ; offset: $50 (80)        ;  handle to all the comment information 
  92. uniqueFonts                 ds.l    1                ; offset: $54 (84)        ;  the number of unique fonts in the picture 
  93. fontHandle                 ds.l    1                ; offset: $58 (88)        ;  handle to the FontSpec information 
  94. fontNamesHandle             ds.l    1                ; offset: $5C (92)        ;  handle to the font names 
  95. reserved1                 ds.l    1                ; offset: $60 (96)
  96. reserved2                 ds.l    1                ; offset: $64 (100)
  97. sizeof                     EQU *                    ; size:   $68 (104)
  98.                         ENDR
  99. ; typedef struct PictInfo *                PictInfoPtr
  100.  
  101. ; typedef PictInfoPtr *                    PictInfoHandle
  102.  
  103. ;
  104. ; pascal OSErr GetPictInfo(PicHandle thePictHandle, PictInfo *thePictInfo, short verb, short colorsRequested, short colorPickMethod, short version)
  105. ;
  106.     IF ¨ GENERATINGCFM THEN
  107.         Macro
  108.         _GetPictInfo
  109.             move.w              #$0800,D0
  110.             dc.w                $A831
  111.         EndM
  112.     ELSE
  113.         IMPORT_CFM_FUNCTION GetPictInfo
  114.     ENDIF
  115.  
  116. ;
  117. ; pascal OSErr GetPixMapInfo(PixMapHandle thePixMapHandle, PictInfo *thePictInfo, short verb, short colorsRequested, short colorPickMethod, short version)
  118. ;
  119.     IF ¨ GENERATINGCFM THEN
  120.         Macro
  121.         _GetPixMapInfo
  122.             move.w              #$0801,D0
  123.             dc.w                $A831
  124.         EndM
  125.     ELSE
  126.         IMPORT_CFM_FUNCTION GetPixMapInfo
  127.     ENDIF
  128.  
  129. ;
  130. ; pascal OSErr NewPictInfo(PictInfoID *thePictInfoID, short verb, short colorsRequested, short colorPickMethod, short version)
  131. ;
  132.     IF ¨ GENERATINGCFM THEN
  133.         Macro
  134.         _NewPictInfo
  135.             move.w              #$0602,D0
  136.             dc.w                $A831
  137.         EndM
  138.     ELSE
  139.         IMPORT_CFM_FUNCTION NewPictInfo
  140.     ENDIF
  141.  
  142. ;
  143. ; pascal OSErr RecordPictInfo(PictInfoID thePictInfoID, PicHandle thePictHandle)
  144. ;
  145.     IF ¨ GENERATINGCFM THEN
  146.         Macro
  147.         _RecordPictInfo
  148.             move.w              #$0403,D0
  149.             dc.w                $A831
  150.         EndM
  151.     ELSE
  152.         IMPORT_CFM_FUNCTION RecordPictInfo
  153.     ENDIF
  154.  
  155. ;
  156. ; pascal OSErr RecordPixMapInfo(PictInfoID thePictInfoID, PixMapHandle thePixMapHandle)
  157. ;
  158.     IF ¨ GENERATINGCFM THEN
  159.         Macro
  160.         _RecordPixMapInfo
  161.             move.w              #$0404,D0
  162.             dc.w                $A831
  163.         EndM
  164.     ELSE
  165.         IMPORT_CFM_FUNCTION RecordPixMapInfo
  166.     ENDIF
  167.  
  168. ;
  169. ; pascal OSErr RetrievePictInfo(PictInfoID thePictInfoID, PictInfo *thePictInfo, short colorsRequested)
  170. ;
  171.     IF ¨ GENERATINGCFM THEN
  172.         Macro
  173.         _RetrievePictInfo
  174.             move.w              #$0505,D0
  175.             dc.w                $A831
  176.         EndM
  177.     ELSE
  178.         IMPORT_CFM_FUNCTION RetrievePictInfo
  179.     ENDIF
  180.  
  181. ;
  182. ; pascal OSErr DisposePictInfo(PictInfoID thePictInfoID)
  183. ;
  184.     IF ¨ GENERATINGCFM THEN
  185.         Macro
  186.         _DisposePictInfo
  187.             move.w              #$0206,D0
  188.             dc.w                $A831
  189.         EndM
  190.     ELSE
  191.         IMPORT_CFM_FUNCTION DisposePictInfo
  192.     ENDIF
  193.  
  194.     IF OLDROUTINENAMES THEN
  195. ;
  196. ; pascal OSErr DisposPictInfo(PictInfoID thePictInfoID)
  197. ;
  198.     IF ¨ GENERATINGCFM THEN
  199.         Macro
  200.         _DisposPictInfo
  201.             move.w              #$0206,D0
  202.             dc.w                $A831
  203.         EndM
  204.     ELSE
  205.         IMPORT_CFM_FUNCTION DisposPictInfo
  206.     ENDIF
  207.  
  208.     ENDIF
  209.     ENDIF
  210.     ENDIF ; __PICTUTILS__ 
  211.  
  212.